home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / e / cha_source.lha / cha_source / test_complex.e < prev    next >
Encoding:
Text File  |  1999-12-18  |  2.4 KB  |  114 lines

  1. /*==========================================================================+
  2. | test_complex.e                                                            |
  3. | test complex number functions                                             |
  4. +--------------------------------------------------------------------------*/
  5.  
  6. MODULE '*complex'
  7.  
  8. /*-------------------------------------------------------------------------*/
  9.  
  10. PROC main()
  11.     DEF a : complex, b : complex
  12.     a.re := 1.0
  13.     a.im := 1.0
  14.     b.re := 0.0
  15.     b.im := 0.0
  16.     test_c_f('cabs2', {cabs2}, a)
  17.     test_c_f('cabs',  {cabs},  a)
  18.     test_c_f('carg',  {carg},  a)
  19.     a.re := -1.0
  20.     test_c_f('carg',  {carg},  a)
  21.     a.im := -1.0
  22.     test_c_f('carg',  {carg},  a)
  23.     a.re := 1.0
  24.     test_c_f('carg',  {carg},  a)
  25.     a.im := 0.0
  26.     test_cc_c('csqrt',{csqrt}, a, b)
  27.     a.re := 4.0
  28.     test_cc_c('csqrt',{csqrt}, a, b)
  29.     a.re := 9.0
  30.     test_cc_c('csqrt',{csqrt}, a, b)
  31.     a.re := -4.0
  32.     test_cc_c('csqrt',{csqrt}, a, b)
  33.     a.re := -9.0
  34.     test_cc_c('csqrt',{csqrt}, a, b)
  35.     a.re := 0.0
  36.     test_cc_c('csqrt',{csqrt}, a, b)
  37.     a.im := 1.0
  38.     test_cc_c('csqrt',{csqrt}, a, b)
  39.     print_s('\n')
  40.     a.re := 4.0
  41.     a.im := 4.0
  42.     test_cc_c('csqrt',{csqrt}, a, b)
  43.     test_ccc_c('cmul',{cmul}, b, b, b)
  44.     a.re := -4.0
  45.     test_cc_c('csqrt',{csqrt}, a, b)
  46.     test_ccc_c('cmul',{cmul}, b, b, b)
  47.     a.im := -4.0
  48.     test_cc_c('csqrt',{csqrt}, a, b)
  49.     test_ccc_c('cmul',{cmul}, b, b, b)
  50.     a.re := 4.0
  51.     test_cc_c('csqrt',{csqrt}, a, b)
  52.     test_ccc_c('cmul',{cmul}, b, b, b)
  53. ENDPROC
  54.  
  55. /*-------------------------------------------------------------------------*/
  56.  
  57. PROC test_c_f(s,f,a)
  58.     DEF x
  59.     print_s(s)
  60.     print_s('(')
  61.     print_c(a)
  62.     print_s(') -> ')
  63.     x := f(a)
  64.     print_f(x)
  65.     print_s('\n')
  66. ENDPROC
  67.  
  68. PROC test_cc_c(s,f,a,b)
  69.     print_s(s)
  70.     print_s('(')
  71.     print_c(a)
  72.     print_s(',')
  73.     print_c(b)
  74.     print_s(') -> ')
  75.     f(a,b)
  76.     print_c(b)
  77.     print_s('\n')
  78. ENDPROC
  79.  
  80. PROC test_ccc_c(s,f,a,b,c)
  81.     print_s(s)
  82.     print_s('(')
  83.     print_c(a)
  84.     print_s(',')
  85.     print_c(b)
  86.     print_s(',')
  87.     print_c(c)
  88.     print_s(') -> ')
  89.     f(a,b,c)
  90.     print_c(c)
  91.     print_s('\n')
  92. ENDPROC
  93.  
  94. PROC print_s(s)
  95.     PutStr(s)
  96. ENDPROC
  97.  
  98. PROC print_c(c : PTR TO complex)
  99.     print_f(c.re)
  100.     print_s('+')
  101.     print_f(c.im)
  102.     print_s('i')
  103. ENDPROC
  104.  
  105. PROC print_f(f)
  106.     DEF buffer[16] : STRING
  107.     RealF(buffer, f, 4)
  108.     print_s(buffer)
  109. ENDPROC
  110.  
  111. /*--------------------------------------------------------------------------+
  112. | END: test_complex.e                                                       |
  113. +==========================================================================*/
  114.